A class that serves as an interface to a graph partitioning library. More...
#include <graph_partitioner.hpp>
Public Types | |
typedef GraphPartitionerImplementation::Index | Index |
typedef GraphPartitionerImplementation::IndexVector | IndexVector |
typedef GraphPartitionerImplementation::MultiIndexVector | MultiIndexVector |
Public Member Functions | |
GraphPartitioner (const parallel::Communicator &comm) | |
Default constructor. | |
GraphPartitioner (const parallel::Communicator &comm, const int &local_nodes, const int &local_edges) | |
Construct w/ known local sizes (guesses to size containers, maybe). | |
~GraphPartitioner (void) | |
Destructor. | |
void | add_node (const Index &global_index, const Index &original_index) |
Add the global index of a local node and the original index of local node. | |
void | add_edge (const Index &edge_index, const Index &node_index_1, const Index &node_index_2) |
void | get_global_edge_ids (int idx, Index *node_index_1, Index *node_index_2) const |
Get the global indices of the buses at either end of a branch. | |
size_t | nodes (void) const |
Get the number of local nodes. | |
Index | node_index (const int &local_index) const |
Get the global node index given a local index. | |
size_t | edges (void) const |
Get the number of local edges. | |
Index | edge_index (const int &local_index) const |
Get the global edge index given a local index. | |
void | partition (void) |
Partition the graph. | |
void | node_destinations (IndexVector &dest) const |
Get the node destinations. | |
void | edge_destinations (IndexVector &dest) const |
Get the edge destinations. | |
void | ghost_node_destinations (MultiIndexVector &dest) const |
Get the destinations of ghosted nodes. | |
void | ghost_edge_destinations (IndexVector &dest) const |
Get the destinations of ghosted edge. |
A class that serves as an interface to a graph partitioning library.
typedef GraphPartitionerImplementation::IndexVector gridpack::network::GraphPartitioner::IndexVector |
typedef GraphPartitionerImplementation::MultiIndexVector gridpack::network::GraphPartitioner::MultiIndexVector |
gridpack::network::GraphPartitioner::GraphPartitioner | ( | const parallel::Communicator & | comm | ) |
Default constructor.
gridpack::network::GraphPartitioner::GraphPartitioner | ( | const parallel::Communicator & | comm, | |
const int & | local_nodes, | |||
const int & | local_edges | |||
) |
Construct w/ known local sizes (guesses to size containers, maybe).
gridpack::network::GraphPartitioner::~GraphPartitioner | ( | void | ) |
Destructor.
void gridpack::network::GraphPartitioner::add_edge | ( | const Index & | edge_index, | |
const Index & | node_index_1, | |||
const Index & | node_index_2 | |||
) |
Add the global index of a local edge and what it connects using the original indices of the buses at either end of the node
void gridpack::network::GraphPartitioner::add_node | ( | const Index & | global_index, | |
const Index & | original_index | |||
) |
Add the global index of a local node and the original index of local node.
void gridpack::network::GraphPartitioner::edge_destinations | ( | IndexVector & | dest | ) | const |
Get the edge destinations.
Index gridpack::network::GraphPartitioner::edge_index | ( | const int & | local_index | ) | const |
Get the global edge index given a local index.
size_t gridpack::network::GraphPartitioner::edges | ( | void | ) | const |
Get the number of local edges.
void gridpack::network::GraphPartitioner::get_global_edge_ids | ( | int | idx, | |
Index * | node_index_1, | |||
Index * | node_index_2 | |||
) | const |
Get the global indices of the buses at either end of a branch.
void gridpack::network::GraphPartitioner::ghost_edge_destinations | ( | IndexVector & | dest | ) | const |
Get the destinations of ghosted edge.
void gridpack::network::GraphPartitioner::ghost_node_destinations | ( | MultiIndexVector & | dest | ) | const |
Get the destinations of ghosted nodes.
void gridpack::network::GraphPartitioner::node_destinations | ( | IndexVector & | dest | ) | const |
Get the node destinations.
Index gridpack::network::GraphPartitioner::node_index | ( | const int & | local_index | ) | const |
Get the global node index given a local index.
size_t gridpack::network::GraphPartitioner::nodes | ( | void | ) | const |
Get the number of local nodes.
void gridpack::network::GraphPartitioner::partition | ( | void | ) |
Partition the graph.